package se.webbzon.oschi01.worldeditor;

import se.webbzon.oschi01.friendly.Friendly;

@Friendly class WorldObjectBlueprint {

	// The id of this blueprint
	private final int id;
	
	// The name of the world object deflation associated with this blueprint
	private final String name;
	
	// An array of all dependencies for this blueprint 
	private final int[] dependencies;
	
	// The deflation properties associated with this blueprint
	private final int deflationProperties;
	
	// The deflation data contained in this blueprint
	private final byte[] deflationData;
	
	/*============================================================
	Constructors
	============================================================*/
	
	/** Creates a new WorldObjectBlueprint. **/
	@Friendly WorldObjectBlueprint(	int id, String name, int[] dependencies,
									int deflationProperties, byte[] deflationData) {
		this.id = id;
		this.name = name;
		this.dependencies = dependencies;
		this.deflationProperties = deflationProperties;
		this.deflationData = deflationData;
	}
	
	/*============================================================
	Public Methods
	============================================================*/

	/** Returns the id of this blueprint. **/
	public int getId() {
		return id;
	}

	/** Returns the name of the world object defaltion associated with 
	 * this blueprint. **/
	public String getName() {
		return name;
	}

	/** Returns an array of all dependencies for this blueprint. **/
	public int[] getDependencies() {
		return dependencies;
	}
	
	/** Returns the deflation properties associated with this blueprint. **/
	public int getDeflationProperties() {
		return deflationProperties;
	}

	/** Returns the deflation data contained in this blueprint. **/
	public byte[] getDeflationData() {
		return deflationData;
	}
	
}
